Modify Makefile and Dockerfiles to speed up builds #44
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR speeds up the build process by keeping a base image for each targeted platform, and moving the COPY step from the Dockerfiles into a separate Dockerfile which gets built from the base image. The base images will only be rebuilt when the user has deleted them, or when the GO_VERSION or MACHINE_VERSION has changed since they were built. In case of GO_VERSION or MACHINE_VERSION changing, the cache will be reused from the previous build (which is most useful for the steps where the libvirt package installed, which requires update/refreshing package repositories in addition to downloading the packages). The image which gets the repo root copied in, and associated container which actually performs the
go get ... && go install ...
are still deleted after each build.This PR also: